package shujia.day13;

import java.io.*;

/*
    java针对字符输出流和输入流提供了对应的简化写法：
    字符流 = 字节流 + 编码表：
        字符输出流：Writer【抽象类】
                    - OutputStreamWriter
                        - FileWriter
        字符输入流：Reader【抽象类】
                    - InputStreamReader
                        - FileReader

    注意：
        如果将来使用字符流的时候，需要指定编码读或者写的时候，不能使用简化写法，只能使用其父类进行创建对象
        因为简化写法的类无可以传编码的构造方法。
 */
public class FileWriterDemo1 {
    public static void main(String[] args) throws Exception{
        //创建字符输入流对象
//        InputStreamReader isr = new InputStreamReader(new FileInputStream("E:\\斗罗大陆2.txt"),"GBK");
        //FileReader(String fileName) 创建一个新的 FileReader ，给定要读取的文件的名称。
        FileReader fr = new FileReader("E:\\斗罗大陆2.txt");

        //创建字符输出流对象
//        OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("src/shujia/day13/斗罗大陆-第二章2.txt"),"GBK");
        FileWriter fw = new FileWriter("src/shujia/day13/斗罗大陆-第二章2.txt");

        //1、一次读写一个字符
//        int i = 0;
//        while ((i=fr.read())!=-1){
//            fw.write(i);
//            fw.flush();
//        }

        //2、一次读写一个字符数组
        char[] chars = new char[1024];
        int length = 0;
        while ((length=fr.read(chars))!=-1){
            fw.write(chars,0,length);
            fw.flush();
        }



        //释放资源
        fw.close();
        fr.close();

    }
}
